package com.yuwj.chinaa.activity;

import com.lzy.okgo.model.Progress;
import com.yuwj.chinaa.entity.EntityAppInfo;
import com.yuwj.chinaa.entity.EntityAssetDetailRecord;
import com.yuwj.chinaa.entity.EntityAssetGTEDetail;
import com.yuwj.chinaa.entity.EntityAssetGTEOverview;
import com.yuwj.chinaa.entity.EntityAssetGTKDetail;
import com.yuwj.chinaa.entity.EntityAssetGTKOverview;
import com.yuwj.chinaa.entity.EntityAssetsBag;
import com.yuwj.chinaa.entity.EntityBurseCoinNumber;
import com.yuwj.chinaa.entity.EntityBurseRecord;
import com.yuwj.chinaa.entity.EntityBurseRecordDetail;
import com.yuwj.chinaa.entity.EntityCommunity;
import com.yuwj.chinaa.entity.EntityCommunityLevelMember;
import com.yuwj.chinaa.entity.EntityComputeCodeEarningRecord;
import com.yuwj.chinaa.entity.EntityExercise;
import com.yuwj.chinaa.entity.EntityGeneralAuth;
import com.yuwj.chinaa.entity.EntityMyCommunity;
import com.yuwj.chinaa.entity.EntityMyComputeCode;
import com.yuwj.chinaa.entity.EntityNews;
import com.yuwj.chinaa.entity.EntityNotice;
import com.yuwj.chinaa.entity.EntityOrder;
import com.yuwj.chinaa.entity.EntityOrderDetail;
import com.yuwj.chinaa.entity.EntityOrderWithTrade;
import com.yuwj.chinaa.entity.EntityOtherAssets;
import com.yuwj.chinaa.entity.EntityPartnerApply;
import com.yuwj.chinaa.entity.EntityReceivingAddress;
import com.yuwj.chinaa.entity.EntityTradeOrderDeatil;
import com.yuwj.chinaa.entity.EntityTradePriceData;
import com.yuwj.chinaa.entity.EntityTradeSaleAndBuy;
import com.yuwj.chinaa.entity.EntityUser;

import java.io.File;
import java.util.List;

public interface IActivity {
    void xxxxxxxxxxxxxx应用相关开始xxxxxxxxxxxxxx();

    void onAppInfoSuccess(EntityAppInfo entityAppInfo);

    void onAppInfoFail(Exception e);

    void onAppFeedbackSuccess(String info);

    void onAppFeedbackFail(Exception e);

    void appUploadFilesImageSuccess(String imgUrl);

    void appUploadFilesImageFail(Exception e);

    /**
     * 开始下载文件
     */
    void onDownloadFileStart();

    /**
     * 下载文件成功
     *
     * @param file x
     */
    void onDownloadFileSuccess(File file);

    /**
     * 下载文件失败
     *
     * @param throwable x
     */
    void onDownloadFileFail(Throwable throwable);

    /**
     * 下载文件进行中
     *
     * @param progress
     */
    void onDownloadFileProgress(Progress progress);

    /**
     * 下载文件完成
     */
    void onDownloadFileFinish();


    void xxxxxxxxxxxxxx应用相关结束xxxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx账户相关开始xxxxxxxxxxxxxx();

    void onUserLoginSuccess(EntityUser entityUser);

    void onUserLoginFail(Exception e);

    void onUserLogoutSuccess();

    void onUserLogoutFail(Exception e);

    void onMsgGetVerifyCodeSuccess(String code);

    void onMsgGetVerifyCodeFail(Exception e);

    void onUserRegisterSuccess();

    void onUserRegisterFail(Exception e);

    void onUserResetPasswordSuccess(String pwd);

    void onUserResetPasswordFail(Exception e);

    void onUserForgetPasswordSuccess(String pwd);

    void onUserForgetPasswordFail(Exception e);


    void onUserBindEmailSuccess(String resp);

    void onUserBindEmailFail(Exception e);

    void onUserGetUserSuccess(EntityUser entityUser);

    void onUserGetUserFail(Exception e);

    void onUserSendEmailVerifyCodeSuccess(String resp);

    void onUserSendEmailVerifyCodeFail(Exception e);

    void onUserSetPayPasswordSuccess(String resp);

    void onUserSetPayPasswordFail(Exception e);

    void onUserUploadImgSuccess(String resp);

    void onUserUploadImgFail(Exception e);

    void onUploadPhotoSuccess(String resp);

    void onUploadPhotoFail(Exception e);

    void onUserUpdateNameSuccess();

    void onUserUpdateNameFail(Exception e);

    void onUserInvitationCodeSuccess(String invitationCode);

    void onUserInvitationCodeFail(Exception e);

    void onUserUpdatePhoneSuccess(String info);

    void onUserUpdatePhoneFail(Exception e);

    void onGetUserCommunitySuccess(EntityMyCommunity entityMyCommunity);

    void onGetUserCommunityFail(Exception e);

    void onGetNoticeListSuccess(List<EntityNotice> entityNoticeList);

    void onGetNoticeListFail(Exception e);

    void onGetNewsListSuccess(List<EntityNews> entityNewsList);

    void onGetNewsListFail(Exception e);

    void onGetNewsDetailSuccess(EntityNews entityNews);

    void onGetNewsDetailFail(Exception e);

    void onUserFeedbackSuccess();

    void onUserFeedbackFail(Exception e);

    void onGetReceiveAddressListSuccess(List<EntityReceivingAddress> list);

    void onGetReceiveAddressListFail(Exception e);

    void onAddReceivingAddressSuccess();

    void onAddReceivingAddressFail(Exception e);

    void onDeleteReceivingAddressSuccess();

    void onDeleteReceivingAddressFail(Exception e);

    void onModifyReceivingAddressSuccess();

    void onModifyReceivingAddressFail(Exception e);

    void xxxxxxxxxxxxxx账户相关结束xxxxxxxxxxxxx();


    void xxxxxxxxxxxxxx首页相关开始xxxxxxxxxxxxxx();

    void onGetAssetsListSuccess(List<EntityAssetsBag> assetsBagList);

    void onGetAssetsListFail(Exception e);

    void onGetAssetsDetailSuccess(EntityAssetsBag entityAssetsBag);

    void onGetAssetsDetailFail(Exception e);

    void onBuyAssetsSuccess();

    void onBuyAssetsFail(Exception e);

    void xxxxxxxxxxxxxx首页相关结束xxxxxxxxxxxxxx();


    void xxxxxxxxxxxxxx算码相关开始xxxxxxxxxxxxxx();


    void onOpenBuyMinerSuccess(String price, String buyMinerProportion);

    void onOpenBuyMinerFail(Exception e);

    void onBuyMinerSuccess();


    void onBuyMinerFail(Exception e);


    void onQueryMinerProfitListSuccess(List<EntityComputeCodeEarningRecord> list);


    void onQueryMinerProfitListFail(Exception e);


    void onQueryUserMinerListSuccess(EntityMyComputeCode entityMyComputeCode);

    void onQueryUserMinerListFail(Exception e);

    void onMinerPayDepositSuccess(String resp);

    void onMinerPayDepositFail(Exception e);

    void onMinerReturnDepositSuccess(String resp);

    void onMinerReturnDepositFail(Exception e);

    void xxxxxxxxxxxxxx算码相关结束xxxxxxxxxxxxxx();


    void xxxxxxxxxxxxxx订单相关开始xxxxxxxxxxxxxx();

    void onOrderApplySuccess();

    void onOrderApplyFail(Exception e);

    void onGetOrderDetailsSuccess();

    void onGetOrderDetailsFail(Exception e);

    void onGetOrderBuyAndSellListSuccess(List<EntityOrder> orderList);

    void onGetOrderBuyAndSellListFail(Exception e);

    void onGetOrderWithTradeListSuccess(List<EntityOrderWithTrade> orderList);

    void onGetOrderWithTradeListFail(Exception e);

    void onUpdateOrderStatusSuccess();

    void onUpdateOrderStatusFail(Exception e);

    void onUploadVoucherSuccess();

    void onUploadVoucherFail(Exception e);

    void onCancelTradingOrderSuccess();

    void onCancelTradingOrderFail(Exception e);

    void onOrderRevokeSuccess();

    void onOrderRevokeFail(Exception e);

    void xxxxxxxxxxxxxx订单相关结束xxxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx资产相关开始xxxxxxxxxxxxx();

    void onGetUserBurseCoinNumberListSuccess(EntityBurseCoinNumber entityBurseCoinNumber);

    void onGetUserBurseCoinNumberListFail(Exception e);

    void onGetServiceChargePercentSuccess(double d);

    void onGetServiceChargePercentFail(Exception e);

    void onTransferAccountsSuccess();

    void onTransferAccountsFail(Exception e);

    void onGetUserBurseListSuccess(List<EntityBurseRecord> entityBurseRecordList);

    void onGetUserBurseListFail(Exception e);

    void onGetUserBurseDetailSuccess(EntityBurseRecordDetail entityBurseRecordDetail);

    void onGetUserBurseDetailFail(Exception e);

    void onAddPartnerApplySuccess(EntityPartnerApply entityPartnerApply);

    void onAddPartnerApplyFail(Exception e);


    void onAssetGTEOverviewSuccess(EntityAssetGTEOverview entityAssetGTEOverview);

    void onAssetGTEOverviewFail(Exception e);

    void onAssetGTKOverviewSuccess(EntityAssetGTKOverview entityAssetGTKOverview);

    void onAssetGTKOverviewFail(Exception e);

    void onAssetGTEDetailSuccess(EntityAssetGTEDetail entityAssetGTEDetail);

    void onAssetGTEDetailFail(Exception e);

    void onAssetGTKDetailSuccess(EntityAssetGTKDetail entityAssetGTKDetail);

    void onAssetGTKDetailFail(Exception e);

    void onAssetDetailRecordSuccess(List<EntityAssetDetailRecord> entityAssetDetailRecordList);

    void onAssetDetailRecordFail(Exception e);

    void onOtherAssetSuccess(String type,EntityOtherAssets entityOtherAssets);

    void onOtherAssetFail(Exception e);

    void xxxxxxxxxxxxxx资产相关结束xxxxxxxxxxxxx();


    void xxxxxxxxxxxxxx社区相关开始xxxxxxxxxxxxx();


    void onCommunityLevelListSuccess(List<EntityCommunityLevelMember> entityCommunityLevelMemberList);

    void onCommunityLevelListFail(Exception e);

    void onCommunityOverviewSuccess(EntityCommunity entityCommunity);

    void onCommunityOverviewFail(Exception e);

    void xxxxxxxxxxxxxx社区相关结束xxxxxxxxxxxxx();


    void xxxxxxxxxxxxxx币种转化相关开始xxxxxxxxxxxxx();


    void onTransferRechargeSuccess(String resp);

    void onTransferRechargeFail(Exception e);

    void onTransferTransferSuccess(String resp);

    void onTransferTransferFail(Exception e);

    void onTransferOpenTransferSuccess(String resp);

    void onTransferOpenTransferFail(Exception e);


    void xxxxxxxxxxxxxx币种转化相关结束xxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx支付相关开始xxxxxxxxxxxxx();

    void onPaymentPaySuccess(String resp);//支付成功

    void onPaymentPayFail(Exception e);//支付失败

    void xxxxxxxxxxxxxx支付相关结束xxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx交易相关开始xxxxxxxxxxxxx();

    void onQueryBBValueSuccess(int bbType, String value);

    void onQueryBBValueFail(Exception e);

    void onTransOverviewSuccess(String resp);

    void onTransOverviewFail(Exception e);

    void onQueryTradePriceDataSuccess(EntityTradePriceData entityTradePriceData);

    void onQueryTradePriceDataFail(Exception e);

    void queryTransactionOrderListSuccess(List<EntityOrderWithTrade> list);

    void queryTransactionOrderListFail(Exception e);

    void onCancelUnTradeTransactionOrderSuccess();

    void onCancelUnTradeTransactionOrderFail(Exception e);


    void gteBuyOrSellSuccess(String data);

    void gteBuyOrSellFail(Exception e);

    void onQueryTradeBuyAndSellDetailSuccess(EntityTradeOrderDeatil orderDeatil);

    void onQueryTradeBuyAndSellDetailFail(Exception e);

    void onqueryOrderDetailSuccess(EntityOrderDetail orderDetail);

    void onqueryOrderDetailFail(Exception e);

    void onConfirmPayGteSuccess();

    void onConfirmPayGteFail(Exception e);

    void onPayMoneySuccess();

    void onPayMoneyFail(Exception e);

    void onUserBuyTradeSuccess();

    void onUserBuyTradeFail(Exception e);

    void xxxxxxxxxxxxxx交易相关结束xxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx验证相关开始xxxxxxxxxxxxx();

    void onVerifyGeneralAuthSuccess(String resp);//账户实名认证

    void onVerifyGeneralAuthFail(Exception e);//账户实名认证

    void onVerifySafeAuthSuccess(String resp);//账户安全认证

    void onVerifySafeAuthFail(Exception e);//账户安全认证

    void onGetIsGeneralAuthSuccess(EntityGeneralAuth entityGeneralAuth);//账户实名认证是否在审核中

    void onGetIsGeneralAuthFail(Exception e);//账户实名认证是否在审核中

    void xxxxxxxxxxxxxx验证相关结束xxxxxxxxxxxxx();

    void xxxxxxxxxxxxxx行权相关开始xxxxxxxxxxxxx();

    //添加行权成功
    void onAddExerciseOrderSuccess(String resp);

    //添加行权失败
    void onAddExerciseOrderFail(Exception e);

    //获取行权列表成功
    void onGetExerciseOrderListSuccess(List<EntityExercise> entityExerciseList);

    //获取行权列表失败
    void onGetExerciseOrderListFail(Exception e);

    //获取行权列表成功
    void onGetExerciseOrderSuccess(EntityExercise entityExercise);

    //获取行权列表失败
    void onGetExerciseOrderFail(Exception e);

    void xxxxxxxxxxxxxx行权相关结束xxxxxxxxxxxxx();


}
